package com.qinghuan.proxy;

import java.lang.reflect.InvocationHandler;
import java.lang.reflect.Method;

/**
 * @Auther: qinghuan
 * @Date: 2022/3/15 21:39
 * @Description: 动态代理类
 */
public class ProxyDemo implements InvocationHandler {

    Object object;//被代理的对象

    public ProxyDemo(Object object) {
        this.object = object;
    }

    @Override
    public Object invoke(Object proxy, Method method, Object[] args)
            throws Throwable {

        System.out.println(method.getName() + "方法开始执行");

        //执行的是指定代理对象的指定的方法
        Object invoke = method.invoke(object, args);

        System.out.println(method.getName() + "方法执行完毕");

        return null;
    }
}
